A network of nodes and edges that connect the nodes can be used to represent various types of systems, such as communications systems, hydraulic systems, transportation systems, and so forth, which involve flow of some type of quantity from node to node through conduits having specified capacities. A network can also represent the flow of monetary amounts between nodes that represent products or services, where the monetary amounts can represent profit, revenue, or expense. Such networks can be analyzed for the purpose of solving an optimization problem, which involves finding the maximum flow between at least a source and at least a sink that are coupled by the nodes of the network as fast as possible. The analysis involves identifying the “minimum cut” and/or the “maximum flow” through the network.
Conventionally, identifying the minimum cut of and/or the maximum flow through a network is often time-consuming and computationally expensive, particularly when analyzing very large networks. Conventional algorithms for computing the maximum flow and/or minimum cut of a network are often relatively complex.